Business Intelligence generally refers to a category of software systems and applications used to improve business enterprise decision-making and governance. These software tools provide techniques for analyzing and leveraging enterprise applications and data. They are commonly applied to financial, human resource, marketing, sales, service provision, customer, and supplier analyses. More specifically, Business Intelligence tools can include reporting and analysis tools to analyze, forecast and present information, content delivery infrastructure systems to deliver, store and manage reports and analytics, data warehousing systems to cleanse and consolidate information from disparate sources, integration tools to analyze and generate workflows based on enterprise systems, database management systems to organize, store, retrieve and manage data in databases, and performance management applications to provide business metrics, dashboards, and scorecards, as well as best-practice analysis techniques for gaining business insights.
In many organizations establishing business strategies is an increasingly complex exercise. There are ongoing efforts to supply quantitative tools to enhance business strategy decision making. In particular, there is an increasing focus on applications and tools that provide a quantitative framework for analyzing various measures. A measure is a quantity as ascertained by comparison with a standard, usually denoted in units such as units sold, dollars, and so on. Measures are typically used to evaluate a quantifiable component of an organization's performance. For example, measures may include return on investment, revenue, sales volume, unit sales, store sales, inventory levels, cycle times, supply chain costs, number of customers, and so on.
Measures may be associated with dimensions, which are a type of data model object that represent a side of a multidimensional cube, a category, a column or a set of data items within a data source. Each dimension represents a different category. In a message stream data source, a field within a message is a dimension. Dimension definitions support the specification of hierarchies to form a hierarchical dimension. Members of a dimension may be defined through a filter or transform. Examples of dimensions include region, store, year, customer, employee, and product line, among others.
Measures are often evaluated as part of an expression, such as a mathematical expression, data source query, message/string building expressions, and the like, to assess a business strategy and to prescribe a course of action. For example, consider a retail organization trying to optimize its performance. A store manager may be interested in increasing its “store sales” measure for the current quarter. To perform a detailed assessment, the store manager may have to analyze the average “store sales” measure during the previous quarters, broken down by dimensions such as “brand name” and “customer residence.” The store manager may also have to compare the “store sales” measure for a given store with the “store sales” measure of other comparable stores in the retail organization. In doing so, the store manager would like to be able to create expressions that perform calculations for one or more measures broken down by one or more dimensions.
There are a number of commercially available tools for creating expressions to perform calculations for business measures. For example, Microsoft Office Excel, available from Microsoft Corporation of Redmond, Wash., allows users to insert mathematical expressions on spreadsheets using a simple drag-and-drop expressions editor that also interacts with other Microsoft Office products, such as Microsoft Word and PowerPoint. Another simple and easy-to-use tool is DragMath, an open-source editor that allows users to build mathematical expressions in a traditional two-dimensional way using a graphical drag-and-drop interface. In addition, Business Objects Americas of San Jose, Calif., provides a Crystal Reports Selection Editor for performing database query selections across multiple criteria.
These and other tools for creating expressions are limited in that they do not provide a structured visual representation of the expressions in their graphical interfaces. A user creating expressions with these editors simply drags expression components, such as mathematical operators, relational symbols, and aggregators, among others, into a workspace to form an expression. Any structure in the expression is introduced by the user himself and not enforced by the tool.
For example, DragMath allows users to create mathematical equations using proper syntax and export them to a file. While it does indicate where values (e.g., variables and or numbers) are required, it does not enforce an order of operations. Mathematical delimiters such as brackets to denote an order of operations in the expressions have to be inserted in the workspace by the user and are not enforced by DragMath. Furthermore, because the mathematical equations that can be created with DragMath only take numerical values in the form of variables and numbers, DragMath does not indicate or enforce the data types of expression components as the user is creating an expression in the workspace.
Likewise, the Business Object's Crystal Reports Selection Editor does not enforce a structure for expressions created in its workspace. The Selection Editor provides a drag-and-drop interface for creating database selection expressions. The user is provided a list of all available variables, functions and operators, which can be dragged to an editing workspace, but they can also create portions of the expressions manually. The Selection Editor does not enforce any syntax rules until the user requests a syntax check or attempts to save the created expression. This can result in a very repetitive process of checking the syntax, fixing the errors and checking the syntax again. This is particularly difficult with long, complex selection formulas as there is no indication as to what portion of the expression the error refers.
These tools also do not allow users to visualize the semantic structure of the expressions. The semantic structure of an expression defines how the expression components relate to one another. For example, the “store sales” measure mentioned above could be broken down by multiple dimensions, such as “time,” “brand name,” “customer residence,” etc., to provide the manager a detailed analysis of the store's performance. The semantic structure defines this relationship.
The currently-available expressions editors do not illustrate the semantic relationships between expression components. Doing so may make it easier for users to interpret how certain expression components affect the expression as a whole and anticipate the result of the expressions.
Accordingly, it would be desirable to provide techniques to address the shortcomings of existing expressions editors. In particular, it would be desirable to provide an expressions editor that creates an easily readable visualization of the semantic relationships within the expressions, illustrated through the layout of the expression components.